package com.adderis.soft.domain.dao;

import java.util.List;

import com.adderis.soft.domain.model.Applications;

/**
 * DAO for domain model class Applications.
 * 
 * @see com.adderis.soft.domain.model.Applications
 * @author Reda
 */
public interface IApplicationsDao {

	/**
	 * Persist a Applications entity in the database
	 * 
	 * @param transientApplications
	 */
	public void persist(Applications transientApplications);

	/**
	 * Remove a persisted Applications from the database
	 * 
	 * @param persistentApplications
	 */
	public void remove(Applications persistentApplications);

	/**
	 * Remove a persisted Applications from the database
	 * 
	 * @param ApplicationsId
	 */
	public void remove(Integer ApplicationsId);

	/**
	 * Update a Applications in the database
	 * 
	 * @param detachedApplications
	 * @return merged Applications
	 */
	public Applications merge(Applications detachedApplications);

	/**
	 * Find a Applications by id
	 * 
	 * @param id
	 * @return the found Applications
	 */
	public Applications findById(Integer id);

	/**
	 * Find a list of Applications
	 * 
	 * @return the found Applications
	 */
	public List<Applications> findAll();

	/**
	 * Search Applicationss
	 * 
	 * @param searchString
	 * @return the found Applicationss
	 */
	public List<Applications> search(String searchString);

}
